package ar.edu.utn.frsf.tpae.a2012.g04.dominio;

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import ar.edu.utn.frsf.tpae.a2012.g04.dominio.Cuenta;

@Entity
@Table(name = "cli")
public class Cliente {
	@Id
	  @Column(name = "cli_id")
	  @SequenceGenerator(name = "seq_cli", sequenceName = "seq_cli", allocationSize = 1)
	  @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_cli")
	private Integer id;
	
	@Column(name = "cli_nro", unique = true)
	private String numero;
	
	@Column(name = "cli_nom")
	private String nombre;
	
	@Column(name = "cli_ape")
	private String apellido;
	
	@Column(name = "cli_dni")
	private String dni;
	
	@Column(name = "cli_cuil")
	private String cuil;
	
	@Column(name = "cli_fech_alta")
	@Temporal(TemporalType.TIMESTAMP)
	private Date fechaAlta;
	
	@Column(name = "cli_dir_pos")
	private String direccionPostal;
	
	@Column(name = "cli_tel")
	private String telefono;
	
	@Column(name = "cli_mail")
	private String mail;
	
	
	@OneToMany(cascade = CascadeType.ALL ,mappedBy="cliente")
	private List<Cuenta> cuentas;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getNummero() {
		return numero;
	}
	public void setNummero(String numero) {
		this.numero = numero;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApellido() {
		return apellido;
	}
	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	public String getDni() {
		return dni;
	}
	public void setDni(String dni) {
		this.dni = dni;
	}
	public String getCuil() {
		return cuil;
	}
	public void setCuil(String cuil) {
		this.cuil = cuil;
	}
	public Date getFechaAlta() {
		return fechaAlta;
	}
	public void setFechaAlta(Date fechaAlta) {
		this.fechaAlta = fechaAlta;
	}
	public String getDireccionPostal() {
		return direccionPostal;
	}
	public void setDireccionPostal(String direccionPostal) {
		this.direccionPostal = direccionPostal;
	}
	public String getTelefono() {
		return telefono;
	}
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public String getMail() {
		return mail;
	}
	public void setMail(String mail) {
		this.mail = mail;
	}
	
	public List<Cuenta> getCuentas() {
		return cuentas;
	}
	public void setCuentas(List<Cuenta> cuentas) {
		this.cuentas = cuentas;
	}


}
